//
// Created by Administrator on 2022/1/29.
//

#ifndef S1_1_HELLOWORLD_LESSON138_H
#define S1_1_HELLOWORLD_LESSON138_H
#include <string>
#include <iostream>
using namespace std;
/*
 * 纯虚函数：抽象类
 * */
class Base
{
public:
    virtual void func() = 0;    //  纯虚函数，无法实例化一个类，只能被继承
};

// 多态实例，制作饮品
class AbstractDringking
{
public:
    string finalTips;
    // 煮水
    virtual void Boil() = 0;

    // 冲泡
    virtual void Brew() = 0;

    // 倒入杯中
    virtual void PourCup();

    // 加入辅料
    virtual void AddSomting() = 0;

    // 制作饮品
    void makeDrinking();
};

class Coffee: public AbstractDringking
{
public:
    Coffee();
    // 煮水
    virtual void Boil();

    // 冲泡
    virtual void Brew();

    // 加入辅料
    virtual void AddSomting();
};

class Tea: public AbstractDringking
{
public:
    Tea();
    // 煮水
    virtual void Boil();

    // 冲泡
    virtual void Brew();

    // 加入辅料
    virtual void AddSomting();
};



#endif //S1_1_HELLOWORLD_LESSON138_H
